# Makefile for elevation calculator

# 编译器设置
CXX = g++
CXXFLAGS = -std=c++11 -Wall -Wextra -O2

# 目标文件和可执行文件名
TARGET = elevation_calc

# 源文件列表
SRCS = main.cpp elevation_calculator.cpp

# 目标文件列表
OBJS = $(SRCS:.cpp=.o)

# 默认目标
all: $(TARGET)

# 链接目标文件生成可执行文件
$(TARGET): $(OBJS)
	$(CXX) $(CXXFLAGS) -o $(TARGET) $(OBJS)

# 编译源文件生成目标文件
%.o: %.cpp
	$(CXX) $(CXXFLAGS) -c $< -o $@

# 清理生成的文件
clean:
	rm -f $(OBJS) $(TARGET) elevation_data.txt

# 运行程序
run: $(TARGET)
	./$(TARGET)

# 编译并运行
crun: clean all run

# 声明伪目标
.PHONY: all clean run crun